A baseboard management controller (BMC) is a specialized service processor that monitors the physical state of a server using sensors mounted in the server. Among all types of physical state monitoring, the monitoring of heat dissipation is very important to the operation of a server. Generally, a BMC controls the rotary speed(s) of one or more fans that are installed in a server according to a fan speed control algorithm which is included in a BMC firmware in the form of a software program.
Server products of the same series may include several stock keeping units (SKUs) with different hardware configurations, which may require different fan speed control algorithms. For a single BMC firmware to be applicable to different SKUs, multiple fan speed control algorithms corresponding to the different SKUs must be packaged in multiple programs and included in the single BMC firmware, which would thus occupy considerable storage space in a storage device, such as a flash memory device. The BMC firmware generally includes core software codes and fan setting parameters, and either the core software codes or the fan setting parameters may be updated frequently during product development. To edit or adjust the BMC firmware, for instance, with respect to fan setting parameters of the fan speed control algorithm, the BMC firmware must be updated through a burning process and reboot operation, which are quite inconvenient.
Particularly, during development of the server products, the BMC firmware update may be required frequently for optimizing the fan setting parameters of the fan speed control algorithm which are associated with heat dissipation. For trial of a new set of fan setting parameters, update of the BMC firmware would be required to generate a corresponding new version of the BMC firmware by going through the burning process and the reboot operation, consuming significant amount of manpower and time.